{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 明确分析目的\n",
    "* 1.低价股的比例\n",
    "* 2.低于2的低价股\n",
    "* 3.横轴的数据：日期\n",
    "* 4.纵轴的数据：比值 （每个交易日低于2元的上市公司数量/上市公司总数）\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 获取数据\n",
    "* 聚宽平台获取"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import  numpy  as  np\n",
    "import  pandas  as pd \n",
    "import  matplotlib.pyplot  as  plt\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "提示：当前环境pandas版本为0.25，get_price与get_fundamentals_continuously接口panel参数将固定为False\n",
      "注意：0.25以上版本pandas不支持panel，如使用该数据结构和相关函数请注意修改\n",
      "auth success \n"
     ]
    }
   ],
   "source": [
    "from jqdatasdk import *\n",
    "auth('18311391491','Lyq77582258')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "#get_all_securities()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(3000, 4145)"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df =pd.read_csv('./p.csv')\n",
    "df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th>000001.XSHE</th>\n",
       "      <th>000002.XSHE</th>\n",
       "      <th>000004.XSHE</th>\n",
       "      <th>000005.XSHE</th>\n",
       "      <th>000006.XSHE</th>\n",
       "      <th>000007.XSHE</th>\n",
       "      <th>000008.XSHE</th>\n",
       "      <th>000009.XSHE</th>\n",
       "      <th>000010.XSHE</th>\n",
       "      <th>...</th>\n",
       "      <th>688585.XSHG</th>\n",
       "      <th>688586.XSHG</th>\n",
       "      <th>688588.XSHG</th>\n",
       "      <th>688589.XSHG</th>\n",
       "      <th>688595.XSHG</th>\n",
       "      <th>688596.XSHG</th>\n",
       "      <th>688598.XSHG</th>\n",
       "      <th>688599.XSHG</th>\n",
       "      <th>688600.XSHG</th>\n",
       "      <th>688981.XSHG</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2008-06-10</td>\n",
       "      <td>5.53</td>\n",
       "      <td>7.88</td>\n",
       "      <td>6.56</td>\n",
       "      <td>4.73</td>\n",
       "      <td>2.97</td>\n",
       "      <td>5.47</td>\n",
       "      <td>0.81</td>\n",
       "      <td>2.76</td>\n",
       "      <td>2.9</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2008-06-11</td>\n",
       "      <td>5.26</td>\n",
       "      <td>7.47</td>\n",
       "      <td>6.23</td>\n",
       "      <td>4.49</td>\n",
       "      <td>2.97</td>\n",
       "      <td>5.66</td>\n",
       "      <td>0.77</td>\n",
       "      <td>2.51</td>\n",
       "      <td>2.9</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2008-06-12</td>\n",
       "      <td>5.26</td>\n",
       "      <td>7.73</td>\n",
       "      <td>6.18</td>\n",
       "      <td>4.27</td>\n",
       "      <td>2.80</td>\n",
       "      <td>5.82</td>\n",
       "      <td>0.73</td>\n",
       "      <td>2.56</td>\n",
       "      <td>2.9</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2008-06-13</td>\n",
       "      <td>5.26</td>\n",
       "      <td>7.35</td>\n",
       "      <td>5.91</td>\n",
       "      <td>4.06</td>\n",
       "      <td>2.60</td>\n",
       "      <td>5.64</td>\n",
       "      <td>0.70</td>\n",
       "      <td>2.31</td>\n",
       "      <td>2.9</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2008-06-16</td>\n",
       "      <td>5.36</td>\n",
       "      <td>7.60</td>\n",
       "      <td>5.64</td>\n",
       "      <td>3.86</td>\n",
       "      <td>2.51</td>\n",
       "      <td>5.51</td>\n",
       "      <td>0.68</td>\n",
       "      <td>2.21</td>\n",
       "      <td>2.9</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 4145 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   Unnamed: 0  000001.XSHE  000002.XSHE  000004.XSHE  000005.XSHE  \\\n",
       "0  2008-06-10         5.53         7.88         6.56         4.73   \n",
       "1  2008-06-11         5.26         7.47         6.23         4.49   \n",
       "2  2008-06-12         5.26         7.73         6.18         4.27   \n",
       "3  2008-06-13         5.26         7.35         5.91         4.06   \n",
       "4  2008-06-16         5.36         7.60         5.64         3.86   \n",
       "\n",
       "   000006.XSHE  000007.XSHE  000008.XSHE  000009.XSHE  000010.XSHE  ...  \\\n",
       "0         2.97         5.47         0.81         2.76          2.9  ...   \n",
       "1         2.97         5.66         0.77         2.51          2.9  ...   \n",
       "2         2.80         5.82         0.73         2.56          2.9  ...   \n",
       "3         2.60         5.64         0.70         2.31          2.9  ...   \n",
       "4         2.51         5.51         0.68         2.21          2.9  ...   \n",
       "\n",
       "   688585.XSHG  688586.XSHG  688588.XSHG  688589.XSHG  688595.XSHG  \\\n",
       "0          NaN          NaN          NaN          NaN          NaN   \n",
       "1          NaN          NaN          NaN          NaN          NaN   \n",
       "2          NaN          NaN          NaN          NaN          NaN   \n",
       "3          NaN          NaN          NaN          NaN          NaN   \n",
       "4          NaN          NaN          NaN          NaN          NaN   \n",
       "\n",
       "   688596.XSHG  688598.XSHG  688599.XSHG  688600.XSHG  688981.XSHG  \n",
       "0          NaN          NaN          NaN          NaN          NaN  \n",
       "1          NaN          NaN          NaN          NaN          NaN  \n",
       "2          NaN          NaN          NaN          NaN          NaN  \n",
       "3          NaN          NaN          NaN          NaN          NaN  \n",
       "4          NaN          NaN          NaN          NaN          NaN  \n",
       "\n",
       "[5 rows x 4145 columns]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.set_index('Unnamed: 0',inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "df1=df.copy()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "df1=pd.DataFrame(df1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>000001.XSHE</th>\n",
       "      <th>000002.XSHE</th>\n",
       "      <th>000004.XSHE</th>\n",
       "      <th>000005.XSHE</th>\n",
       "      <th>000006.XSHE</th>\n",
       "      <th>000007.XSHE</th>\n",
       "      <th>000008.XSHE</th>\n",
       "      <th>000009.XSHE</th>\n",
       "      <th>000010.XSHE</th>\n",
       "      <th>000011.XSHE</th>\n",
       "      <th>...</th>\n",
       "      <th>688585.XSHG</th>\n",
       "      <th>688586.XSHG</th>\n",
       "      <th>688588.XSHG</th>\n",
       "      <th>688589.XSHG</th>\n",
       "      <th>688595.XSHG</th>\n",
       "      <th>688596.XSHG</th>\n",
       "      <th>688598.XSHG</th>\n",
       "      <th>688599.XSHG</th>\n",
       "      <th>688600.XSHG</th>\n",
       "      <th>688981.XSHG</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2008-06-10</th>\n",
       "      <td>5.53</td>\n",
       "      <td>7.88</td>\n",
       "      <td>6.56</td>\n",
       "      <td>4.73</td>\n",
       "      <td>2.97</td>\n",
       "      <td>5.47</td>\n",
       "      <td>0.81</td>\n",
       "      <td>2.76</td>\n",
       "      <td>2.9</td>\n",
       "      <td>4.13</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-11</th>\n",
       "      <td>5.26</td>\n",
       "      <td>7.47</td>\n",
       "      <td>6.23</td>\n",
       "      <td>4.49</td>\n",
       "      <td>2.97</td>\n",
       "      <td>5.66</td>\n",
       "      <td>0.77</td>\n",
       "      <td>2.51</td>\n",
       "      <td>2.9</td>\n",
       "      <td>3.93</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-12</th>\n",
       "      <td>5.26</td>\n",
       "      <td>7.73</td>\n",
       "      <td>6.18</td>\n",
       "      <td>4.27</td>\n",
       "      <td>2.80</td>\n",
       "      <td>5.82</td>\n",
       "      <td>0.73</td>\n",
       "      <td>2.56</td>\n",
       "      <td>2.9</td>\n",
       "      <td>3.76</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-13</th>\n",
       "      <td>5.26</td>\n",
       "      <td>7.35</td>\n",
       "      <td>5.91</td>\n",
       "      <td>4.06</td>\n",
       "      <td>2.60</td>\n",
       "      <td>5.64</td>\n",
       "      <td>0.70</td>\n",
       "      <td>2.31</td>\n",
       "      <td>2.9</td>\n",
       "      <td>3.75</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-16</th>\n",
       "      <td>5.36</td>\n",
       "      <td>7.60</td>\n",
       "      <td>5.64</td>\n",
       "      <td>3.86</td>\n",
       "      <td>2.51</td>\n",
       "      <td>5.51</td>\n",
       "      <td>0.68</td>\n",
       "      <td>2.21</td>\n",
       "      <td>2.9</td>\n",
       "      <td>3.64</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 4144 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "            000001.XSHE  000002.XSHE  000004.XSHE  000005.XSHE  000006.XSHE  \\\n",
       "Unnamed: 0                                                                    \n",
       "2008-06-10         5.53         7.88         6.56         4.73         2.97   \n",
       "2008-06-11         5.26         7.47         6.23         4.49         2.97   \n",
       "2008-06-12         5.26         7.73         6.18         4.27         2.80   \n",
       "2008-06-13         5.26         7.35         5.91         4.06         2.60   \n",
       "2008-06-16         5.36         7.60         5.64         3.86         2.51   \n",
       "\n",
       "            000007.XSHE  000008.XSHE  000009.XSHE  000010.XSHE  000011.XSHE  \\\n",
       "Unnamed: 0                                                                    \n",
       "2008-06-10         5.47         0.81         2.76          2.9         4.13   \n",
       "2008-06-11         5.66         0.77         2.51          2.9         3.93   \n",
       "2008-06-12         5.82         0.73         2.56          2.9         3.76   \n",
       "2008-06-13         5.64         0.70         2.31          2.9         3.75   \n",
       "2008-06-16         5.51         0.68         2.21          2.9         3.64   \n",
       "\n",
       "            ...  688585.XSHG  688586.XSHG  688588.XSHG  688589.XSHG  \\\n",
       "Unnamed: 0  ...                                                       \n",
       "2008-06-10  ...          NaN          NaN          NaN          NaN   \n",
       "2008-06-11  ...          NaN          NaN          NaN          NaN   \n",
       "2008-06-12  ...          NaN          NaN          NaN          NaN   \n",
       "2008-06-13  ...          NaN          NaN          NaN          NaN   \n",
       "2008-06-16  ...          NaN          NaN          NaN          NaN   \n",
       "\n",
       "            688595.XSHG  688596.XSHG  688598.XSHG  688599.XSHG  688600.XSHG  \\\n",
       "Unnamed: 0                                                                    \n",
       "2008-06-10          NaN          NaN          NaN          NaN          NaN   \n",
       "2008-06-11          NaN          NaN          NaN          NaN          NaN   \n",
       "2008-06-12          NaN          NaN          NaN          NaN          NaN   \n",
       "2008-06-13          NaN          NaN          NaN          NaN          NaN   \n",
       "2008-06-16          NaN          NaN          NaN          NaN          NaN   \n",
       "\n",
       "            688981.XSHG  \n",
       "Unnamed: 0               \n",
       "2008-06-10          NaN  \n",
       "2008-06-11          NaN  \n",
       "2008-06-12          NaN  \n",
       "2008-06-13          NaN  \n",
       "2008-06-16          NaN  \n",
       "\n",
       "[5 rows x 4144 columns]"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df1.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 统计分子 ：每个工作日的低价股"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "df1.fillna(10,inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>000001.XSHE</th>\n",
       "      <th>000002.XSHE</th>\n",
       "      <th>000004.XSHE</th>\n",
       "      <th>000005.XSHE</th>\n",
       "      <th>000006.XSHE</th>\n",
       "      <th>000007.XSHE</th>\n",
       "      <th>000008.XSHE</th>\n",
       "      <th>000009.XSHE</th>\n",
       "      <th>000010.XSHE</th>\n",
       "      <th>000011.XSHE</th>\n",
       "      <th>...</th>\n",
       "      <th>688585.XSHG</th>\n",
       "      <th>688586.XSHG</th>\n",
       "      <th>688588.XSHG</th>\n",
       "      <th>688589.XSHG</th>\n",
       "      <th>688595.XSHG</th>\n",
       "      <th>688596.XSHG</th>\n",
       "      <th>688598.XSHG</th>\n",
       "      <th>688599.XSHG</th>\n",
       "      <th>688600.XSHG</th>\n",
       "      <th>688981.XSHG</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2008-06-10</th>\n",
       "      <td>5.53</td>\n",
       "      <td>7.88</td>\n",
       "      <td>6.56</td>\n",
       "      <td>4.73</td>\n",
       "      <td>2.97</td>\n",
       "      <td>5.47</td>\n",
       "      <td>0.81</td>\n",
       "      <td>2.76</td>\n",
       "      <td>2.90</td>\n",
       "      <td>4.13</td>\n",
       "      <td>...</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-11</th>\n",
       "      <td>5.26</td>\n",
       "      <td>7.47</td>\n",
       "      <td>6.23</td>\n",
       "      <td>4.49</td>\n",
       "      <td>2.97</td>\n",
       "      <td>5.66</td>\n",
       "      <td>0.77</td>\n",
       "      <td>2.51</td>\n",
       "      <td>2.90</td>\n",
       "      <td>3.93</td>\n",
       "      <td>...</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-12</th>\n",
       "      <td>5.26</td>\n",
       "      <td>7.73</td>\n",
       "      <td>6.18</td>\n",
       "      <td>4.27</td>\n",
       "      <td>2.80</td>\n",
       "      <td>5.82</td>\n",
       "      <td>0.73</td>\n",
       "      <td>2.56</td>\n",
       "      <td>2.90</td>\n",
       "      <td>3.76</td>\n",
       "      <td>...</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-13</th>\n",
       "      <td>5.26</td>\n",
       "      <td>7.35</td>\n",
       "      <td>5.91</td>\n",
       "      <td>4.06</td>\n",
       "      <td>2.60</td>\n",
       "      <td>5.64</td>\n",
       "      <td>0.70</td>\n",
       "      <td>2.31</td>\n",
       "      <td>2.90</td>\n",
       "      <td>3.75</td>\n",
       "      <td>...</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-16</th>\n",
       "      <td>5.36</td>\n",
       "      <td>7.60</td>\n",
       "      <td>5.64</td>\n",
       "      <td>3.86</td>\n",
       "      <td>2.51</td>\n",
       "      <td>5.51</td>\n",
       "      <td>0.68</td>\n",
       "      <td>2.21</td>\n",
       "      <td>2.90</td>\n",
       "      <td>3.64</td>\n",
       "      <td>...</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-09-25</th>\n",
       "      <td>15.19</td>\n",
       "      <td>27.62</td>\n",
       "      <td>23.06</td>\n",
       "      <td>2.59</td>\n",
       "      <td>6.18</td>\n",
       "      <td>9.12</td>\n",
       "      <td>2.92</td>\n",
       "      <td>6.82</td>\n",
       "      <td>4.00</td>\n",
       "      <td>17.36</td>\n",
       "      <td>...</td>\n",
       "      <td>10.00</td>\n",
       "      <td>31.97</td>\n",
       "      <td>31.42</td>\n",
       "      <td>52.60</td>\n",
       "      <td>10.00</td>\n",
       "      <td>24.04</td>\n",
       "      <td>102.46</td>\n",
       "      <td>15.66</td>\n",
       "      <td>22.47</td>\n",
       "      <td>53.70</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-09-28</th>\n",
       "      <td>15.31</td>\n",
       "      <td>28.40</td>\n",
       "      <td>22.94</td>\n",
       "      <td>2.53</td>\n",
       "      <td>6.22</td>\n",
       "      <td>9.00</td>\n",
       "      <td>2.90</td>\n",
       "      <td>6.81</td>\n",
       "      <td>3.89</td>\n",
       "      <td>16.68</td>\n",
       "      <td>...</td>\n",
       "      <td>16.35</td>\n",
       "      <td>30.70</td>\n",
       "      <td>30.76</td>\n",
       "      <td>49.95</td>\n",
       "      <td>62.81</td>\n",
       "      <td>23.03</td>\n",
       "      <td>101.08</td>\n",
       "      <td>15.93</td>\n",
       "      <td>21.81</td>\n",
       "      <td>49.94</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-09-29</th>\n",
       "      <td>14.80</td>\n",
       "      <td>28.29</td>\n",
       "      <td>23.00</td>\n",
       "      <td>2.54</td>\n",
       "      <td>6.47</td>\n",
       "      <td>8.99</td>\n",
       "      <td>2.91</td>\n",
       "      <td>6.96</td>\n",
       "      <td>3.80</td>\n",
       "      <td>17.65</td>\n",
       "      <td>...</td>\n",
       "      <td>14.59</td>\n",
       "      <td>33.01</td>\n",
       "      <td>31.18</td>\n",
       "      <td>50.30</td>\n",
       "      <td>69.80</td>\n",
       "      <td>23.78</td>\n",
       "      <td>101.20</td>\n",
       "      <td>15.98</td>\n",
       "      <td>21.91</td>\n",
       "      <td>50.09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-09-30</th>\n",
       "      <td>15.17</td>\n",
       "      <td>28.02</td>\n",
       "      <td>23.09</td>\n",
       "      <td>2.58</td>\n",
       "      <td>6.43</td>\n",
       "      <td>9.40</td>\n",
       "      <td>2.88</td>\n",
       "      <td>7.00</td>\n",
       "      <td>3.91</td>\n",
       "      <td>17.86</td>\n",
       "      <td>...</td>\n",
       "      <td>14.31</td>\n",
       "      <td>33.10</td>\n",
       "      <td>30.88</td>\n",
       "      <td>49.00</td>\n",
       "      <td>61.83</td>\n",
       "      <td>23.23</td>\n",
       "      <td>100.47</td>\n",
       "      <td>16.38</td>\n",
       "      <td>21.86</td>\n",
       "      <td>49.65</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-10-09</th>\n",
       "      <td>15.18</td>\n",
       "      <td>28.03</td>\n",
       "      <td>23.71</td>\n",
       "      <td>2.65</td>\n",
       "      <td>6.86</td>\n",
       "      <td>9.51</td>\n",
       "      <td>2.91</td>\n",
       "      <td>7.57</td>\n",
       "      <td>4.30</td>\n",
       "      <td>18.84</td>\n",
       "      <td>...</td>\n",
       "      <td>14.51</td>\n",
       "      <td>33.38</td>\n",
       "      <td>32.09</td>\n",
       "      <td>50.83</td>\n",
       "      <td>62.94</td>\n",
       "      <td>24.08</td>\n",
       "      <td>113.89</td>\n",
       "      <td>17.05</td>\n",
       "      <td>22.60</td>\n",
       "      <td>50.94</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>3000 rows × 4144 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "            000001.XSHE  000002.XSHE  000004.XSHE  000005.XSHE  000006.XSHE  \\\n",
       "Unnamed: 0                                                                    \n",
       "2008-06-10         5.53         7.88         6.56         4.73         2.97   \n",
       "2008-06-11         5.26         7.47         6.23         4.49         2.97   \n",
       "2008-06-12         5.26         7.73         6.18         4.27         2.80   \n",
       "2008-06-13         5.26         7.35         5.91         4.06         2.60   \n",
       "2008-06-16         5.36         7.60         5.64         3.86         2.51   \n",
       "...                 ...          ...          ...          ...          ...   \n",
       "2020-09-25        15.19        27.62        23.06         2.59         6.18   \n",
       "2020-09-28        15.31        28.40        22.94         2.53         6.22   \n",
       "2020-09-29        14.80        28.29        23.00         2.54         6.47   \n",
       "2020-09-30        15.17        28.02        23.09         2.58         6.43   \n",
       "2020-10-09        15.18        28.03        23.71         2.65         6.86   \n",
       "\n",
       "            000007.XSHE  000008.XSHE  000009.XSHE  000010.XSHE  000011.XSHE  \\\n",
       "Unnamed: 0                                                                    \n",
       "2008-06-10         5.47         0.81         2.76         2.90         4.13   \n",
       "2008-06-11         5.66         0.77         2.51         2.90         3.93   \n",
       "2008-06-12         5.82         0.73         2.56         2.90         3.76   \n",
       "2008-06-13         5.64         0.70         2.31         2.90         3.75   \n",
       "2008-06-16         5.51         0.68         2.21         2.90         3.64   \n",
       "...                 ...          ...          ...          ...          ...   \n",
       "2020-09-25         9.12         2.92         6.82         4.00        17.36   \n",
       "2020-09-28         9.00         2.90         6.81         3.89        16.68   \n",
       "2020-09-29         8.99         2.91         6.96         3.80        17.65   \n",
       "2020-09-30         9.40         2.88         7.00         3.91        17.86   \n",
       "2020-10-09         9.51         2.91         7.57         4.30        18.84   \n",
       "\n",
       "            ...  688585.XSHG  688586.XSHG  688588.XSHG  688589.XSHG  \\\n",
       "Unnamed: 0  ...                                                       \n",
       "2008-06-10  ...        10.00        10.00        10.00        10.00   \n",
       "2008-06-11  ...        10.00        10.00        10.00        10.00   \n",
       "2008-06-12  ...        10.00        10.00        10.00        10.00   \n",
       "2008-06-13  ...        10.00        10.00        10.00        10.00   \n",
       "2008-06-16  ...        10.00        10.00        10.00        10.00   \n",
       "...         ...          ...          ...          ...          ...   \n",
       "2020-09-25  ...        10.00        31.97        31.42        52.60   \n",
       "2020-09-28  ...        16.35        30.70        30.76        49.95   \n",
       "2020-09-29  ...        14.59        33.01        31.18        50.30   \n",
       "2020-09-30  ...        14.31        33.10        30.88        49.00   \n",
       "2020-10-09  ...        14.51        33.38        32.09        50.83   \n",
       "\n",
       "            688595.XSHG  688596.XSHG  688598.XSHG  688599.XSHG  688600.XSHG  \\\n",
       "Unnamed: 0                                                                    \n",
       "2008-06-10        10.00        10.00        10.00        10.00        10.00   \n",
       "2008-06-11        10.00        10.00        10.00        10.00        10.00   \n",
       "2008-06-12        10.00        10.00        10.00        10.00        10.00   \n",
       "2008-06-13        10.00        10.00        10.00        10.00        10.00   \n",
       "2008-06-16        10.00        10.00        10.00        10.00        10.00   \n",
       "...                 ...          ...          ...          ...          ...   \n",
       "2020-09-25        10.00        24.04       102.46        15.66        22.47   \n",
       "2020-09-28        62.81        23.03       101.08        15.93        21.81   \n",
       "2020-09-29        69.80        23.78       101.20        15.98        21.91   \n",
       "2020-09-30        61.83        23.23       100.47        16.38        21.86   \n",
       "2020-10-09        62.94        24.08       113.89        17.05        22.60   \n",
       "\n",
       "            688981.XSHG  \n",
       "Unnamed: 0               \n",
       "2008-06-10        10.00  \n",
       "2008-06-11        10.00  \n",
       "2008-06-12        10.00  \n",
       "2008-06-13        10.00  \n",
       "2008-06-16        10.00  \n",
       "...                 ...  \n",
       "2020-09-25        53.70  \n",
       "2020-09-28        49.94  \n",
       "2020-09-29        50.09  \n",
       "2020-09-30        49.65  \n",
       "2020-10-09        50.94  \n",
       "\n",
       "[3000 rows x 4144 columns]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "dflt2=df1<2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "def countlt2(x):\n",
    "    x.sum()\n",
    "    return x.sum()\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "#dflt2.apply(countlt2,axis =1)\n",
    "dflt2['2_sum']=dflt2.apply(countlt2,axis =1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>000001.XSHE</th>\n",
       "      <th>000002.XSHE</th>\n",
       "      <th>000004.XSHE</th>\n",
       "      <th>000005.XSHE</th>\n",
       "      <th>000006.XSHE</th>\n",
       "      <th>000007.XSHE</th>\n",
       "      <th>000008.XSHE</th>\n",
       "      <th>000009.XSHE</th>\n",
       "      <th>000010.XSHE</th>\n",
       "      <th>000011.XSHE</th>\n",
       "      <th>...</th>\n",
       "      <th>688586.XSHG</th>\n",
       "      <th>688588.XSHG</th>\n",
       "      <th>688589.XSHG</th>\n",
       "      <th>688595.XSHG</th>\n",
       "      <th>688596.XSHG</th>\n",
       "      <th>688598.XSHG</th>\n",
       "      <th>688599.XSHG</th>\n",
       "      <th>688600.XSHG</th>\n",
       "      <th>688981.XSHG</th>\n",
       "      <th>2_sum</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2008-06-10</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>136</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-11</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>146</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-12</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>146</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-13</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>164</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-16</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>169</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 4145 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "            000001.XSHE  000002.XSHE  000004.XSHE  000005.XSHE  000006.XSHE  \\\n",
       "Unnamed: 0                                                                    \n",
       "2008-06-10        False        False        False        False        False   \n",
       "2008-06-11        False        False        False        False        False   \n",
       "2008-06-12        False        False        False        False        False   \n",
       "2008-06-13        False        False        False        False        False   \n",
       "2008-06-16        False        False        False        False        False   \n",
       "\n",
       "            000007.XSHE  000008.XSHE  000009.XSHE  000010.XSHE  000011.XSHE  \\\n",
       "Unnamed: 0                                                                    \n",
       "2008-06-10        False         True        False        False        False   \n",
       "2008-06-11        False         True        False        False        False   \n",
       "2008-06-12        False         True        False        False        False   \n",
       "2008-06-13        False         True        False        False        False   \n",
       "2008-06-16        False         True        False        False        False   \n",
       "\n",
       "            ...  688586.XSHG  688588.XSHG  688589.XSHG  688595.XSHG  \\\n",
       "Unnamed: 0  ...                                                       \n",
       "2008-06-10  ...        False        False        False        False   \n",
       "2008-06-11  ...        False        False        False        False   \n",
       "2008-06-12  ...        False        False        False        False   \n",
       "2008-06-13  ...        False        False        False        False   \n",
       "2008-06-16  ...        False        False        False        False   \n",
       "\n",
       "            688596.XSHG  688598.XSHG  688599.XSHG  688600.XSHG  688981.XSHG  \\\n",
       "Unnamed: 0                                                                    \n",
       "2008-06-10        False        False        False        False        False   \n",
       "2008-06-11        False        False        False        False        False   \n",
       "2008-06-12        False        False        False        False        False   \n",
       "2008-06-13        False        False        False        False        False   \n",
       "2008-06-16        False        False        False        False        False   \n",
       "\n",
       "            2_sum  \n",
       "Unnamed: 0         \n",
       "2008-06-10    136  \n",
       "2008-06-11    146  \n",
       "2008-06-12    146  \n",
       "2008-06-13    164  \n",
       "2008-06-16    169  \n",
       "\n",
       "[5 rows x 4145 columns]"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dflt2.head(5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 统计分母：每个工作日所有的公司"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "#dflt2['countall']=[len(get_all_securities(date=i)) for i in dflt2.index]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "### 统计df表中每个工作日的上市公司总数\n",
    "data= df.count(axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Unnamed: 0\n",
       "2008-06-10    1575\n",
       "2008-06-11    1575\n",
       "2008-06-12    1577\n",
       "2008-06-13    1577\n",
       "2008-06-16    1577\n",
       "dtype: int64"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "dfcount=pd.DataFrame(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2008-06-10</th>\n",
       "      <td>1575</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-11</th>\n",
       "      <td>1575</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-12</th>\n",
       "      <td>1577</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-13</th>\n",
       "      <td>1577</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-16</th>\n",
       "      <td>1577</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               0\n",
       "Unnamed: 0      \n",
       "2008-06-10  1575\n",
       "2008-06-11  1575\n",
       "2008-06-12  1577\n",
       "2008-06-13  1577\n",
       "2008-06-16  1577"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dfcount.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "dfcount.columns = ['count']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2008-06-10</th>\n",
       "      <td>1575</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-11</th>\n",
       "      <td>1575</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-12</th>\n",
       "      <td>1577</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-13</th>\n",
       "      <td>1577</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-16</th>\n",
       "      <td>1577</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            count\n",
       "Unnamed: 0       \n",
       "2008-06-10   1575\n",
       "2008-06-11   1575\n",
       "2008-06-12   1577\n",
       "2008-06-13   1577\n",
       "2008-06-16   1577"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dfcount.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "dflt2['countall']=dfcount['count']\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>000001.XSHE</th>\n",
       "      <th>000002.XSHE</th>\n",
       "      <th>000004.XSHE</th>\n",
       "      <th>000005.XSHE</th>\n",
       "      <th>000006.XSHE</th>\n",
       "      <th>000007.XSHE</th>\n",
       "      <th>000008.XSHE</th>\n",
       "      <th>000009.XSHE</th>\n",
       "      <th>000010.XSHE</th>\n",
       "      <th>000011.XSHE</th>\n",
       "      <th>...</th>\n",
       "      <th>688588.XSHG</th>\n",
       "      <th>688589.XSHG</th>\n",
       "      <th>688595.XSHG</th>\n",
       "      <th>688596.XSHG</th>\n",
       "      <th>688598.XSHG</th>\n",
       "      <th>688599.XSHG</th>\n",
       "      <th>688600.XSHG</th>\n",
       "      <th>688981.XSHG</th>\n",
       "      <th>2_sum</th>\n",
       "      <th>countall</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2008-06-10</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>136</td>\n",
       "      <td>1575</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-11</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>146</td>\n",
       "      <td>1575</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-12</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>146</td>\n",
       "      <td>1577</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-13</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>164</td>\n",
       "      <td>1577</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-16</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>169</td>\n",
       "      <td>1577</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 4146 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "            000001.XSHE  000002.XSHE  000004.XSHE  000005.XSHE  000006.XSHE  \\\n",
       "Unnamed: 0                                                                    \n",
       "2008-06-10        False        False        False        False        False   \n",
       "2008-06-11        False        False        False        False        False   \n",
       "2008-06-12        False        False        False        False        False   \n",
       "2008-06-13        False        False        False        False        False   \n",
       "2008-06-16        False        False        False        False        False   \n",
       "\n",
       "            000007.XSHE  000008.XSHE  000009.XSHE  000010.XSHE  000011.XSHE  \\\n",
       "Unnamed: 0                                                                    \n",
       "2008-06-10        False         True        False        False        False   \n",
       "2008-06-11        False         True        False        False        False   \n",
       "2008-06-12        False         True        False        False        False   \n",
       "2008-06-13        False         True        False        False        False   \n",
       "2008-06-16        False         True        False        False        False   \n",
       "\n",
       "            ...  688588.XSHG  688589.XSHG  688595.XSHG  688596.XSHG  \\\n",
       "Unnamed: 0  ...                                                       \n",
       "2008-06-10  ...        False        False        False        False   \n",
       "2008-06-11  ...        False        False        False        False   \n",
       "2008-06-12  ...        False        False        False        False   \n",
       "2008-06-13  ...        False        False        False        False   \n",
       "2008-06-16  ...        False        False        False        False   \n",
       "\n",
       "            688598.XSHG  688599.XSHG  688600.XSHG  688981.XSHG  2_sum  \\\n",
       "Unnamed: 0                                                              \n",
       "2008-06-10        False        False        False        False    136   \n",
       "2008-06-11        False        False        False        False    146   \n",
       "2008-06-12        False        False        False        False    146   \n",
       "2008-06-13        False        False        False        False    164   \n",
       "2008-06-16        False        False        False        False    169   \n",
       "\n",
       "            countall  \n",
       "Unnamed: 0            \n",
       "2008-06-10      1575  \n",
       "2008-06-11      1575  \n",
       "2008-06-12      1577  \n",
       "2008-06-13      1577  \n",
       "2008-06-16      1577  \n",
       "\n",
       "[5 rows x 4146 columns]"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dflt2.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "dflt2['ratio']=dflt2['2_sum']/dflt2['countall']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>000001.XSHE</th>\n",
       "      <th>000002.XSHE</th>\n",
       "      <th>000004.XSHE</th>\n",
       "      <th>000005.XSHE</th>\n",
       "      <th>000006.XSHE</th>\n",
       "      <th>000007.XSHE</th>\n",
       "      <th>000008.XSHE</th>\n",
       "      <th>000009.XSHE</th>\n",
       "      <th>000010.XSHE</th>\n",
       "      <th>000011.XSHE</th>\n",
       "      <th>...</th>\n",
       "      <th>688589.XSHG</th>\n",
       "      <th>688595.XSHG</th>\n",
       "      <th>688596.XSHG</th>\n",
       "      <th>688598.XSHG</th>\n",
       "      <th>688599.XSHG</th>\n",
       "      <th>688600.XSHG</th>\n",
       "      <th>688981.XSHG</th>\n",
       "      <th>2_sum</th>\n",
       "      <th>countall</th>\n",
       "      <th>ratio</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2008-06-10</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>136</td>\n",
       "      <td>1575</td>\n",
       "      <td>0.086349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-11</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>146</td>\n",
       "      <td>1575</td>\n",
       "      <td>0.092698</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-12</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>146</td>\n",
       "      <td>1577</td>\n",
       "      <td>0.092581</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-13</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>164</td>\n",
       "      <td>1577</td>\n",
       "      <td>0.103995</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-16</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>169</td>\n",
       "      <td>1577</td>\n",
       "      <td>0.107166</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 4147 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "            000001.XSHE  000002.XSHE  000004.XSHE  000005.XSHE  000006.XSHE  \\\n",
       "Unnamed: 0                                                                    \n",
       "2008-06-10        False        False        False        False        False   \n",
       "2008-06-11        False        False        False        False        False   \n",
       "2008-06-12        False        False        False        False        False   \n",
       "2008-06-13        False        False        False        False        False   \n",
       "2008-06-16        False        False        False        False        False   \n",
       "\n",
       "            000007.XSHE  000008.XSHE  000009.XSHE  000010.XSHE  000011.XSHE  \\\n",
       "Unnamed: 0                                                                    \n",
       "2008-06-10        False         True        False        False        False   \n",
       "2008-06-11        False         True        False        False        False   \n",
       "2008-06-12        False         True        False        False        False   \n",
       "2008-06-13        False         True        False        False        False   \n",
       "2008-06-16        False         True        False        False        False   \n",
       "\n",
       "            ...  688589.XSHG  688595.XSHG  688596.XSHG  688598.XSHG  \\\n",
       "Unnamed: 0  ...                                                       \n",
       "2008-06-10  ...        False        False        False        False   \n",
       "2008-06-11  ...        False        False        False        False   \n",
       "2008-06-12  ...        False        False        False        False   \n",
       "2008-06-13  ...        False        False        False        False   \n",
       "2008-06-16  ...        False        False        False        False   \n",
       "\n",
       "            688599.XSHG  688600.XSHG  688981.XSHG  2_sum  countall     ratio  \n",
       "Unnamed: 0                                                                    \n",
       "2008-06-10        False        False        False    136      1575  0.086349  \n",
       "2008-06-11        False        False        False    146      1575  0.092698  \n",
       "2008-06-12        False        False        False    146      1577  0.092581  \n",
       "2008-06-13        False        False        False    164      1577  0.103995  \n",
       "2008-06-16        False        False        False    169      1577  0.107166  \n",
       "\n",
       "[5 rows x 4147 columns]"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dflt2.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "y=dflt2['ratio']\n",
    "x=dflt2.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "dfsz=pd.read_csv('./zs.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th>000001.XSHG</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2008-06-10</td>\n",
       "      <td>3137.2350</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2008-06-11</td>\n",
       "      <td>3028.2890</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2008-06-12</td>\n",
       "      <td>2958.8080</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2008-06-13</td>\n",
       "      <td>2919.3000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2008-06-16</td>\n",
       "      <td>2869.9630</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2995</th>\n",
       "      <td>2020-09-25</td>\n",
       "      <td>3223.5409</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2996</th>\n",
       "      <td>2020-09-28</td>\n",
       "      <td>3223.1668</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2997</th>\n",
       "      <td>2020-09-29</td>\n",
       "      <td>3230.7600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2998</th>\n",
       "      <td>2020-09-30</td>\n",
       "      <td>3227.5900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2999</th>\n",
       "      <td>2020-10-09</td>\n",
       "      <td>3269.5400</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>3000 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      Unnamed: 0  000001.XSHG\n",
       "0     2008-06-10    3137.2350\n",
       "1     2008-06-11    3028.2890\n",
       "2     2008-06-12    2958.8080\n",
       "3     2008-06-13    2919.3000\n",
       "4     2008-06-16    2869.9630\n",
       "...          ...          ...\n",
       "2995  2020-09-25    3223.5409\n",
       "2996  2020-09-28    3223.1668\n",
       "2997  2020-09-29    3230.7600\n",
       "2998  2020-09-30    3227.5900\n",
       "2999  2020-10-09    3269.5400\n",
       "\n",
       "[3000 rows x 2 columns]"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dfsz"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "y2 = df.notnull().sum(axis=1) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Unnamed: 0\n",
       "2008-06-10    1575\n",
       "2008-06-11    1575\n",
       "2008-06-12    1577\n",
       "2008-06-13    1577\n",
       "2008-06-16    1577\n",
       "              ... \n",
       "2020-09-25    4029\n",
       "2020-09-28    4036\n",
       "2020-09-29    4038\n",
       "2020-09-30    4041\n",
       "2020-10-09    4041\n",
       "Length: 3000, dtype: int64"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus']=False #用来正常显示负号"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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vz+33347ixcvZv/996e8vLyuXpqIiBSIV155hWXLllU6XlpaunqbrH97eXl5pf9xuSi2ubO0tHT1685FCm1VWLBgASUlJZWO77DDDvTr14+JEyeyzz770Lt3b1q2bEnv3r3ZZ599GDVqFAANGjSgQQMboNuwYUOuu+46TjjhBEaMGMGSJUsAWLJkCS1atGDcuHHMmTOHKVOmMH36dJo1a0ZxcXFcCBQREamJ8vJyBgwYwK+//sq///1vrrvuOvr27cuee+7J448/DsDAgQPp2bMnPXv2pFOnTmy++eb07NmT3XffnZdeeqnK68+aNYs99tiD3r17x33tscceLF8eXUTg6KOPpmfPnmy++eaMHj2aq666ip133pmtttpqdTkC/fv3Z9q0aQCsWrWKo446qtLzdunSJe721ltvnbKMhx9+OO+//z7Tp0/nySef5PTTT2f69On8/PPPORdKs2bKjzgXXQRffZXZa+6wA9x3X40eEtu27b2nvLycBg0a8Le//Y2nn36a5s2b89577wHQrVs3xowZs/r8jz/+mKuuuoqvv/6a0047jeLiYm688Ua22GILAD744AN+/fVXiouLmT9/PgMHDmSHHXagR48ePPjgg0yZMoU99tiDKVOmMGrUKHbddddavwUiIlJYXnvtNfbYYw+++uorFixYwGmnnUa/fv1W/+8CuPjii7n44osBuO+++1h77bU59dRT467z119/cdxxx1FWVkbz5s15/vnnKSkpoV27drz//vvVlqNBgwYMGzaMkSNH0qhRI+bPn8+jjz7KZ599RnFxcdy5EyZM4OabbwbgrbfeomnTpvzwww8AdOrUiZKSEhLXL2/evDlgIfWJJ57gzDPPxDnHzz//TKNGjVixYgUvvPACn332GStXrmTkyJGUlZVx/vnns9Zaa9XsTQ1Rdoa2LNKtWzfAmj27du3K1ltvzRdffEGPHj0488wzGTVqFIcccsjq88vLyykqKqJ79+6899579OrViwceeIBnnnmG++67j7Zt2+K957PPPuOBBx6gpKSE6dOnc+mll/LDDz8we/Zsvv76a2655RY6d+7MI488osAmIpLDwqyHuOeee+jVqxcNGjRgo402olOnThQV1byR7ZlnnuGSSy5h33335dxzz2X06NEceuiheO9Tdt6Pvc97zxlnnMGsWbMoKSnho48+YuDAgcydO5cLL7yQRYsWccEFF7DOOuuw/fbbs9NOO3HwwQfz1Vdf0aJFC26//XY+/fRTXnzxRbbccstKz1lUVMT3339Pv3792GCDDTj++ONp3rw511xzDVtttRW9e/fmtttuY8aMGRQVFfHXX39x3XXX5VRgg2wNbTWsEatL48ePr3Tsww8/5M033wTg3//+N4cddhgAvXv3pqysjMcff5z27dvz8ssv88UXXzBo0CC890yePHl1v7att96aTTfdlBkzZnDDDTcwdOhQLr30Uho2bMg111zDhAkTKCkpoVOnTvX3YkVEJG+MGjUqLqDdfffdPPfcc3zxxRcccMABLFu2jH333Zc33nhjdVeeGTNm0KBBA5566inA+oCddtppnHfeeauvM3fuXNZbbz0AunbtSsOGDZk2bRrrr78+S5YsoaioiHXWWYcNNtiA//znP4BVfAwePJiRI0fSoUMHbr31VubOncu2227Lu+++ywYbbADATjvtxNtvv83YsWMZNGgQ7dq14+6776ZFixacf/75q7ssLV++nJ49e7J8+XJOO+00Zs2axWWXXcZtt922uqLjhRdeYOLEiWyyySYUFRWxdOlShg4dClgN5IIFC+rw3a8b2RnackDwi1BUVLQ68cc2jw4fPpx58+ax0047ccUVV3DGGWdw9dVXr/7BPP/88wH45ZdfuPbaa5k8eTITJ07kq6++Ytq0aRx55JEAHHjggfX5skREJMPCqofYcsstufTSS/nss88AuPTSSzn11FM55phjGDJkCE2bNgXguuuuW/2YVM2jgY8//pgFCxasboWaMGECAIcddhj33HMPb731Fo0bN670+NiBDmVlZZx55pnstNNOlJaW8ueff/L9998DMHHiRHr16sXChQs5/PDDOemkk+jbty+vvPIKK1eupHHjxgA0adKEDz/8cPU1hw0bxmuvvRb3nNtssw333XcfY8eOBSzoTZkyBYA5c+ak/T5mE4W2NfT555/zyiuvpLz/+OOPB1j9KcM5x+eff766c2Vgt91249hjj2X8+PEceOCBbLPNNjRs2JCddtqJl19+meuvv77uXoSIiOStLbfcknnz5sUd896z5ZZb8s0339S4682ff/7JBRdcsPr/WqyZM2eurn1LZsmSJfTt25dZs2YxePBgzj33XI4//nhmzJjBVzFtxzvssANjxoxh7NixjB07lk033ZQGDRrw9ddfs3z58tWhLR1bb7113KjZWbNmrR70MHv2bPbdd9+0r5UtFNpilJWV4Zyr1CkyUF5ejvee5cuX89FHH3HXXXdVOsd7T0VFBcuXL+eDDz5YXeUM8N///nf1D1zsiNBzzjmHZs2aMWDAADbaaCOmTZvGt99+S0lJCV988QVdu3bN8CsVEZFCM2PGDP7xj39wwgkn8OKLL7LttttSXFxMo0aNqn3sqlWrOPbYY7ntttvYaKON4u6bNGkSa6+9dqX+YaWlpavX8JwzZw6fffYZ9957LwD9+vXj3HPPZdmyZbzwwgtVPvfAgQNp27Yty5Yti3uOsrIyhgwZwuLFi+POnz17Nuutt16lvnvrrrsuhx9+OGBTb+UiTfkR46mnnqJ79+5069aNbt260bhx49X73bp1o3v37gwfPpyPP/6Yp556iv/7v/8DrC9b8+bN6d27N3vvvTe333473nv69u27+gektLSUYcOGMWbMGMaMGbM6tC1YsIDjjz+eH374gfHjx3PDDTdw2mmncdVVVzFy5EjOP/98fv7557DeEhERyWEVFRV475k7dy7Dhg1jvfXWY7fddmPcuHE89thjcZUPq1atYvny5UkHFgwePJgJEyZwyy230KtXL55//nkAfv/9d0488URuvfVWwLoMBbV7119/PUOHDmXevHk0bdqU4uJiysvLcc6x9tprM3v2bJYuXRo3j9qXX35Jr169uOiii1Yfa9++PcXFxcybN4+GDRtSVlbGr7/+yi677MLCL7/k5L59Wb58OatWraKiooIzzzyT0aNHA9GKlPLyclq2bLl6apPNN98cIOfmQ82aBeO///57ttpqq3ovSyp//AG//QY77giJFW9VjZZZE2VlZatr5IIfsKC2L9VzZdv7JSIiUdnyN/qtt97i7bff5tRTT2Wttdbi/fffxzlH165dufLKK7nnnntW15yde+65vPbaa7z66quV5kFL5o8//mDPPffk9ttvX11B8dNPP3HuueeydOlS1l9/fZ544glGjhzJypUrad++Pddccw0XXHABTz/9NDfddBMNGjTgggsu4KyzzuLCCy/kwAMP5M033+Tjjz/mgw8+4IorrmDIkCEMGDCAbt26rR5IcPfdd3Py4YfTplcv2G8/bujQgXfeeQfvPZ06deLJJ5+kuLiYDz/8kCeeeIKZM2eurvULeO85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7ddlr73s9t57Rz/fZHqpNpFnnonW7gI8+WTlc1q3jo6uvPJK2x5yiG1btap8/iWX2IePoiLr8/bss3asf38YNsyWAEwMecmeP1jKr67F9sGTuqOBCNlu5Uro1g2++spub721TekxYEDlhTdFJE7QbyhRhw5w663RpieR2jjmGBg50vYPPBDGjIHS0uTnbrWV9bc86yxrNEkceHDffXDKKbD22qmf74wzrFbrzz+Th6XOna02Dqwcqv2qPQ1EkKqVl8Nbb9lwoa++so4Pv/0G335r47QV2ESq1ayZLS6daMYMm4cq6EAtUhvz5tk0mWefbbVfwUCCPn2soWTGDHjoIWsy/e47O/bII/GB6+ab4ZVX4P/+r+rABjbydOFCmDYt+f3BNCKzZyuw5RvVtAVKS+23adWq5Pevv761q9Tm/XLOekYHgWv5cgtnYNd99VXr3PDeezbsJyhL4kcyEamRe+6xmXG6dLHRdIG117Z/fE2awPTp1qR69tn6VZP0zZ0LHTtaU+bQodHjU6bAJptAcXHmn/Odd2CffWD33e2Dx5Zb2ijOzTe3fytNm9rPceLEurLmsqWmrXBD25QpNrvhjz/aBDhB3XZ96NDBmj1jx3XHat/epqpef337zdtuu/orm0geq6iwsTzNm1stSDDjfCrHHgsHH6xmVElu993hww9t/4MPoGfP+nneiorUYXC33exf2oMPxo84ldpRaAsjtM2fD889Bw88YGEt0LixfQQ/9FCbUj3R0qXWNLneerWbPnrcuOgshGDXih3a06iRtdm0bLnmzyEiaVmxwmrY0rH//jYiMNuUlVmFvGb+CUdQI9unj/1rqU8DBsB116W+f8kS6x4gmaHQVh+hrawM3njD6o1ffBFefz163yWXwL77Wv11p07RTgAiUjC+/Ra23dbWKz3ySJsmYdttre/RnnvaqgorV9q5++xjzaxFRbDNNvFNqN7b9A3t2tVsDqzly+G006w/02ab1bz8QRm+/x5eeMHKfsQRqc8Ppnds2NBe888/24CMBx/Mzn/w5eU2kWzHjtERlsH7XBdN2J9/bp34Y/uUrVpl39OKCutB8+OPNjZs3jyb969lS6sPqItm0KrMnWs1fV262CjUY46xWaAmTLC6h+7d67c8+S6nQptzbjCwFfA/7/2ANT0nUC+hraLClnl6++3osc03h8svt3VD0v2I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\n",
      "text/plain": [
       "<Figure size 720x576 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax=plt.subplots(1,1,figsize=(10,8))\n",
    "ax.plot(x,y,color='b',label='低于2元股的比值')\n",
    "plt.legend(loc=1)\n",
    "plt.title('低于2元的数量与上证指数对比图',fontproperties=\"SimHei\")\n",
    "ax1=ax.twinx()\n",
    "ax1.plot(x,y2,color='r',label='上证指数')\n",
    "plt.legend(loc=2)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
